#ifndef						__IROTATINGBUFFER_H__
#	define					__IROTATINGBUFFER_H__

#	include					<cstddef>
#	include					"byte.h"

class						IRotatingBuffer
{
public:
	IRotatingBuffer() {};
	virtual ~IRotatingBuffer() {};

public:
	virtual void			init() = 0;
	virtual byte			read() = 0;
	virtual void			write(byte) = 0;
	virtual bool			empty() = 0;
	virtual int				size() = 0;
	virtual int				capacity() = 0;
	virtual byte			operator[](size_t) = 0;
};

#endif						// !__IROTATINGBUFFER_H__
